﻿using System;
namespace Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik {
    
    
    public partial class Olek : global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IOlek {
        
        private System.Int64? @__olekKL;
        
        private System.Collections.Generic.List<System.Int64?> @__olekuMargeKL = new System.Collections.Generic.List<System.Int64?>();
        
        private string @__selgitus;
        
        private string @__toiminguNR;
        
        private System.Int64? @__toiminguObjektID;
        
        private System.DateTime? @__algusKP;
        
        private System.DateTime? @__loppKP;
        
        private string @__toiminguTegijaAsutusCSV;
        
        private string @__toiminguTegijaCSV;
        
        public Olek() {
        }
        
        /// <summary>
        /// All parameters
        /// </summary>
        public Olek(System.Int64? @olekKL, System.Collections.Generic.List<System.Int64?> @olekuMargeKL, string @selgitus, string @toiminguNR, System.Int64? @toiminguObjektID, System.DateTime? @algusKP, System.DateTime? @loppKP, string @toiminguTegijaAsutusCSV, string @toiminguTegijaCSV) {
            this.@__olekKL = @olekKL;
            this.@__olekuMargeKL = @olekuMargeKL;
            this.@__selgitus = @selgitus;
            this.@__toiminguNR = @toiminguNR;
            this.@__toiminguObjektID = @toiminguObjektID;
            this.@__algusKP = @algusKP;
            this.@__loppKP = @loppKP;
            this.@__toiminguTegijaAsutusCSV = @toiminguTegijaAsutusCSV;
            this.@__toiminguTegijaCSV = @toiminguTegijaCSV;
        }
        
        /// <summary>
        /// Copy Constructor
        /// </summary>
        protected Olek(IOlek @olek) {
            this.@__olekKL = @olek.OlekKL;
            this.@__olekuMargeKL = @olek.OlekuMargeKL;
            this.@__selgitus = @olek.Selgitus;
            this.@__toiminguNR = @olek.ToiminguNR;
            this.@__toiminguObjektID = @olek.ToiminguObjektID;
            this.@__algusKP = @olek.AlgusKP;
            this.@__loppKP = @olek.LoppKP;
            this.@__toiminguTegijaAsutusCSV = @olek.ToiminguTegijaAsutusCSV;
            this.@__toiminguTegijaCSV = @olek.ToiminguTegijaCSV;
        }
        
        public virtual System.Int64? OlekKL {
            get {
                return this.@__olekKL;
            }
            set {
                this.@__olekKL = value;
            }
        }
        
        public virtual System.Collections.Generic.List<System.Int64?> OlekuMargeKL {
            get {
                return this.@__olekuMargeKL;
            }
            set {
                this.@__olekuMargeKL = value;
            }
        }
        
        public virtual string Selgitus {
            get {
                return this.@__selgitus;
            }
            set {
                this.@__selgitus = value;
            }
        }
        
        public virtual string ToiminguNR {
            get {
                return this.@__toiminguNR;
            }
            set {
                this.@__toiminguNR = value;
            }
        }
        
        public virtual System.Int64? ToiminguObjektID {
            get {
                return this.@__toiminguObjektID;
            }
            set {
                this.@__toiminguObjektID = value;
            }
        }
        
        public virtual System.DateTime? AlgusKP {
            get {
                return this.@__algusKP;
            }
            set {
                this.@__algusKP = value;
            }
        }
        
        public virtual System.DateTime? LoppKP {
            get {
                return this.@__loppKP;
            }
            set {
                this.@__loppKP = value;
            }
        }
        
        public virtual string ToiminguTegijaAsutusCSV {
            get {
                return this.@__toiminguTegijaAsutusCSV;
            }
            set {
                this.@__toiminguTegijaAsutusCSV = value;
            }
        }
        
        public virtual string ToiminguTegijaCSV {
            get {
                return this.@__toiminguTegijaCSV;
            }
            set {
                this.@__toiminguTegijaCSV = value;
            }
        }
    }
}
